Skip to content

docs: add extensions reference list#881

Open
iav wants to merge 3 commits intoarmbian:mainfrom
iav:extensions_list
Open

docs: add extensions reference list#881
iav wants to merge 3 commits intoarmbian:mainfrom
iav:extensions_list

Conversation

@iav
Copy link
Contributor

@iav iav commented Mar 5, 2026

Summary

  • Add Developer-Guide_Extensions-List.md: alphabetical reference of all 60+ official Armbian build extensions, each with a short description
  • Add Developer-Guide_Extension-kernel-rust.md: dedicated page for the kernel-rust extension with full documentation
  • Add Developer-Guide_Extension-ccache-remote.md: dedicated page for the ccache-remote extension — overview, backend comparison (Redis vs WebDAV), auto-discovery via Avahi vs explicit configuration, quick start, parameters, server setup guides
  • Rename nav entry ExtensionsExtensions Framework to better reflect that page's content (framework concepts and writing guide, not a catalog)
  • Fix trailing whitespace on one nav entry

Keeping the extensions list up to date

The list is maintained manually with the help of Claude Code (AI assistant).
To refresh it after extensions are added or changed in armbian/build, open
a Claude Code session in the armbian-doc repository and use the following prompt:

I need to update docs/Developer-Guide_Extensions-List.md to reflect the
current state of extensions in armbian/build (extensions/ directory).
Please:

  1. Compare the current list with all .sh files in extensions/ (including
    subdirectories).
  2. For any new extensions — add an entry with a description and all
    externally configurable variables (those set with :- defaults or
    declared as declare -g).
  3. For changed extensions — update the description and parameters if needed.
  4. Do not change entries for extensions that have not changed.
  5. Keep the alphabetical order.

🤖 Generated with Claude Code

@github-actions github-actions bot added the Needs review Seeking for review label Mar 5, 2026
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Mar 5, 2026

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review

Walkthrough

Adds three documentation files: an alphabetical "Extensions List" reference (docs/Developer-Guide_Extensions-List.md), a detailed "Extension: kernel-rust" guide (docs/Developer-Guide_Extension-kernel-rust.md), and updates mkdocs.yml to rename the navigation entry "Extensions" → "Extensions Framework" and to include the two new pages. The kernel-rust doc describes enabling CONFIG_RUST, pinned rustup toolchain usage, build parameters, requirements, caching, and implementation notes. No code or public API changes are introduced.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title 'docs: add extensions reference list' accurately and concisely summarizes the main change—adding a new documentation file with an alphabetical reference of Armbian extensions.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Description check ✅ Passed The PR description clearly relates to the changeset, detailing the addition of three new documentation files, a navigation entry rename, and whitespace fixes.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions github-actions bot added the size/large PR with 250 lines or more label Mar 5, 2026
@coderabbitai coderabbitai bot requested review from EvilOlaf and igorpecovnik March 5, 2026 05:28
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (2)
docs/Developer-Guide_Extensions-List.md (2)

301-304: Consider using an admonition for the non-working kernel warning.

The warning about nomod producing a non-working kernel is important. Using MkDocs admonition syntax would make it more visually prominent:

📝 Suggested enhancement
 ## nomod
 
-Builds the kernel with all modules disabled (`localmodconfig` with empty lsmod). Produces a non-working kernel — intended for rapid kernel build/packaging tests only.
+Builds the kernel with all modules disabled (`localmodconfig` with empty lsmod).
+
+!!! warning
+    Produces a non-working kernel — intended for rapid kernel build/packaging tests only.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/Developer-Guide_Extensions-List.md` around lines 301 - 304, Replace the
plain-text warning under the "## nomod" section with an MkDocs admonition so the
"non-working kernel" note is visually prominent; locate the "## nomod" heading
and its description and wrap the sentence "Produces a non-working kernel —
intended for rapid kernel build/packaging tests only." inside an admonition
block (e.g., note/warning/danger) using MkDocs admonition syntax so readers
immediately see the caveat.

379-382: Consider adding a link to Debian Trixie documentation or release notes.

The UFS extension specifies a build host requirement (Debian Trixie 13+) that users may need guidance on. Consider linking to relevant Debian or Docker documentation for users unfamiliar with setting up a Trixie-based build environment.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/Developer-Guide_Extensions-List.md` around lines 379 - 382, The "ufs"
extension docs mention Debian Trixie and setting DOCKER_ARMBIAN_BASE_IMAGE but
lack links; update the "ufs" section to include one or two authoritative links
(e.g., Debian Trixie release/notes and Docker image reference) so users can find
release details and how to use debian:trixie as a base image; specifically
modify the "ufs" header/paragraph to append links to the Debian Trixie release
notes and the Docker Hub debian image (or Debian documentation) and optionally a
short hint about setting DOCKER_ARMBIAN_BASE_IMAGE to debian:trixie.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In `@docs/Developer-Guide_Extensions-List.md`:
- Around line 301-304: Replace the plain-text warning under the "## nomod"
section with an MkDocs admonition so the "non-working kernel" note is visually
prominent; locate the "## nomod" heading and its description and wrap the
sentence "Produces a non-working kernel — intended for rapid kernel
build/packaging tests only." inside an admonition block (e.g.,
note/warning/danger) using MkDocs admonition syntax so readers immediately see
the caveat.
- Around line 379-382: The "ufs" extension docs mention Debian Trixie and
setting DOCKER_ARMBIAN_BASE_IMAGE but lack links; update the "ufs" section to
include one or two authoritative links (e.g., Debian Trixie release/notes and
Docker image reference) so users can find release details and how to use
debian:trixie as a base image; specifically modify the "ufs" header/paragraph to
append links to the Debian Trixie release notes and the Docker Hub debian image
(or Debian documentation) and optionally a short hint about setting
DOCKER_ARMBIAN_BASE_IMAGE to debian:trixie.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 6c1f45fc-6550-4544-8b0e-d22ba2592400

📥 Commits

Reviewing files that changed from the base of the PR and between b8e7d7f and 8f9564d.

📒 Files selected for processing (3)
  • docs/Developer-Guide_Build-Switches.md
  • docs/Developer-Guide_Extensions-List.md
  • mkdocs.yml

@iav iav force-pushed the extensions_list branch from 8f9564d to 898ecd2 Compare March 5, 2026 05:34
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (2)
docs/Developer-Guide_Extensions-List.md (2)

17-429: Consider adding a mini index for faster navigation.

For a 60+ entry page, an A–Z jump list or compact table at the top would improve scanability.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/Developer-Guide_Extensions-List.md` around lines 17 - 429, Add a compact
A–Z mini index at the top of the Extensions list that links to each extension
section (the "## <extension-name>" headings like "## allwinner-kernel-bump", "##
amlogic-fip-blobs", etc.). Create a short alphabet jump row (A B C ... Z)
followed by an alphabetical list of anchor links to each "##" section (or
grouped by initial letter) so readers can click to jump; ensure anchors match
the rendered Markdown heading slugs. Insert this new "Mini index" block
immediately after the main title/intro to improve navigation.

3-13: Reduce future drift for this manually curated list.

Because this page is long and extension inventory changes over time, consider adding a short “source of truth / last generated from” note (or linking a generation script) to keep this list synchronized with extensions/.

Also applies to: 17-429

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/Developer-Guide_Extensions-List.md` around lines 3 - 13, Add a “source
of truth / last generated from” note to Developer-Guide_Extensions-List.md so
readers know where this manually curated inventory comes from and when it was
last updated; explicitly state that the list is generated from the extensions/
directory and include a timestamp plus a link to the generation script (e.g., a
script that scans extensions/ and emits this markdown) or the path to that
generator, and if no generator exists add a small script
(generate-extensions-list) and reference it in the note so future updates can be
automated and the file kept in sync.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In `@docs/Developer-Guide_Extensions-List.md`:
- Around line 17-429: Add a compact A–Z mini index at the top of the Extensions
list that links to each extension section (the "## <extension-name>" headings
like "## allwinner-kernel-bump", "## amlogic-fip-blobs", etc.). Create a short
alphabet jump row (A B C ... Z) followed by an alphabetical list of anchor links
to each "##" section (or grouped by initial letter) so readers can click to
jump; ensure anchors match the rendered Markdown heading slugs. Insert this new
"Mini index" block immediately after the main title/intro to improve navigation.
- Around line 3-13: Add a “source of truth / last generated from” note to
Developer-Guide_Extensions-List.md so readers know where this manually curated
inventory comes from and when it was last updated; explicitly state that the
list is generated from the extensions/ directory and include a timestamp plus a
link to the generation script (e.g., a script that scans extensions/ and emits
this markdown) or the path to that generator, and if no generator exists add a
small script (generate-extensions-list) and reference it in the note so future
updates can be automated and the file kept in sync.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: e14acd01-1515-48b2-b5b7-101e26057816

📥 Commits

Reviewing files that changed from the base of the PR and between 8f9564d and 898ecd2.

📒 Files selected for processing (3)
  • docs/Developer-Guide_Build-Switches.md
  • docs/Developer-Guide_Extensions-List.md
  • mkdocs.yml
🚧 Files skipped from review as they are similar to previous changes (2)
  • docs/Developer-Guide_Build-Switches.md
  • mkdocs.yml

@iav iav force-pushed the extensions_list branch from 898ecd2 to 7cba033 Compare March 5, 2026 05:41
@EvilOlaf
Copy link
Member

EvilOlaf commented Mar 5, 2026

Who updates the list? Manually? Automatic?

- Add Developer-Guide_Extensions-List.md: alphabetical reference of
  all 60+ official extensions with short descriptions
- Rename 'Extensions' nav entry to 'Extensions Framework' to better
  reflect the page content (framework concepts, not extension catalog)
- Fix trailing whitespace on Netconfig nav entry

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@iav iav force-pushed the extensions_list branch from 7cba033 to 3c606c9 Compare March 5, 2026 05:57
@iav
Copy link
Contributor Author

iav commented Mar 5, 2026

You mean future updates?
Now it's generated by claude code AI assistant.
If result is acceptable — it's possible to do kind of "refresh" same way monthly, or kind of.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (1)
docs/Developer-Guide_Extensions-List.md (1)

1-14: Add a refresh/provenance note to reduce future drift.

This page is likely to go stale unless maintainers can quickly regenerate/verify it. Please add one short line describing source-of-truth + refresh workflow (script/command + optional “last refreshed” date).

I can draft a tiny “How to refresh this list” section if you want.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/Developer-Guide_Extensions-List.md` around lines 1 - 14, Add a short
provenance/refresh note to the "Extensions Reference" page stating the
source-of-truth (the extensions/ directory in the build repo) and the refresh
workflow: the command or script to regenerate the list (e.g., a one-liner that
scans extensions/ or the exact ./compile.sh invocation used for testing), plus
an optional "Last refreshed: YYYY-MM-DD" field; place this single-line note near
the top under the heading or at the end of the intro so maintainers can quickly
run the command and update the date when validating the list.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@docs/Developer-Guide_Extension-kernel-rust.md`:
- Line 17: Change the heading "Why rustup instead of distro packages" from level
3 (###) to level 2 (##) so it follows the H1 page title and satisfies markdown
linting; update the single header token for that heading in the file (the line
containing "Why rustup instead of distro packages") to use "##" instead of "###"
and verify no other headings skip levels.

---

Nitpick comments:
In `@docs/Developer-Guide_Extensions-List.md`:
- Around line 1-14: Add a short provenance/refresh note to the "Extensions
Reference" page stating the source-of-truth (the extensions/ directory in the
build repo) and the refresh workflow: the command or script to regenerate the
list (e.g., a one-liner that scans extensions/ or the exact ./compile.sh
invocation used for testing), plus an optional "Last refreshed: YYYY-MM-DD"
field; place this single-line note near the top under the heading or at the end
of the intro so maintainers can quickly run the command and update the date when
validating the list.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 396af305-652b-48f5-be53-90136e7aa760

📥 Commits

Reviewing files that changed from the base of the PR and between 898ecd2 and 3a5c6f2.

📒 Files selected for processing (3)
  • docs/Developer-Guide_Extension-kernel-rust.md
  • docs/Developer-Guide_Extensions-List.md
  • mkdocs.yml

@igorpecovnik
Copy link
Member

This would be sane to develop action script similar as this:
https://github.com/armbian/armbian.github.io/blob/main/.github/workflows/generate-actions-report.yml
https://github.com/armbian/armbian.github.io/blob/main/scripts/generate-actions-report.mjs

but its some effort. I would not do this by using free AI tokens and hacks needed that this works. Eventually.

I am ok if we merge this as is. Its still better then nothing and new extensions are not done "daily" ...

@iav iav force-pushed the extensions_list branch from 3a5c6f2 to bdf51d5 Compare March 5, 2026 22:52
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (2)
docs/Developer-Guide_Extensions-List.md (1)

3-5: Add a source snapshot marker to reduce drift risk.

Since this list is maintained manually from another repo, add a “last verified against build repo commit/date” line near the top for traceability.

Proposed doc tweak
 Alphabetical reference of all official Armbian build framework extensions.
 Extensions live in the `extensions/` directory of the build repository.
+Last verified against: `armbian/build@<commit>` on `<YYYY-MM-DD>`.
 
 To enable one or more extensions:

Also applies to: 12-14

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/Developer-Guide_Extensions-List.md` around lines 3 - 5, Add a “last
verified against build repo commit/date” marker near the top of
Developer-Guide_Extensions-List.md to record the commit SHA and verification
date used to generate the manual list; update the document header (the lines
describing the alphabetical reference and extensions directory) to include a
single-line marker like “Last verified against build repo: <commit-sha> on
<YYYY-MM-DD>” and ensure this line is updated whenever the list is regenerated
to reduce drift and improve traceability.
docs/Developer-Guide_Extension-kernel-rust.md (1)

49-53: Direct users to the Rust-for-Linux policy instead of hardcoding rustc versions.

Line 49 hardcodes rustc ≥ 1.78, which will need updating as upstream requirements change (they already differ between kernel releases: 6.10 requires pinned toolchains, while 6.11–6.12 use MSRV 1.78.0). The Rust-for-Linux project maintains a documented version policy for this. Reword as "current baseline" and point users to the policy:

Suggested change
-- **Kernel version**: 6.12 or newer (requires rustc ≥ 1.78).
+- **Kernel version (current baseline)**: 6.12 or newer.
+  Minimum `rustc` can change by kernel release; verify against the Rust-for-Linux version policy.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/Developer-Guide_Extension-kernel-rust.md` around lines 49 - 53, Replace
the hardcoded "rustc ≥ 1.78" text in Developer-Guide_Extension-kernel-rust.md
(the "Kernel version" bullet) with a phrasing that defers to the Rust-for-Linux
version policy—e.g. say "use the current baseline rustc as specified by the
Rust-for-Linux version policy"—and add a brief pointer to the Rust-for-Linux
version policy page so maintainers/users follow upstream requirements instead of
a pinned MSRV; specifically update the line containing "rustc ≥ 1.78" to
reference the policy rather than a concrete version.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In `@docs/Developer-Guide_Extension-kernel-rust.md`:
- Around line 49-53: Replace the hardcoded "rustc ≥ 1.78" text in
Developer-Guide_Extension-kernel-rust.md (the "Kernel version" bullet) with a
phrasing that defers to the Rust-for-Linux version policy—e.g. say "use the
current baseline rustc as specified by the Rust-for-Linux version policy"—and
add a brief pointer to the Rust-for-Linux version policy page so
maintainers/users follow upstream requirements instead of a pinned MSRV;
specifically update the line containing "rustc ≥ 1.78" to reference the policy
rather than a concrete version.

In `@docs/Developer-Guide_Extensions-List.md`:
- Around line 3-5: Add a “last verified against build repo commit/date” marker
near the top of Developer-Guide_Extensions-List.md to record the commit SHA and
verification date used to generate the manual list; update the document header
(the lines describing the alphabetical reference and extensions directory) to
include a single-line marker like “Last verified against build repo:
<commit-sha> on <YYYY-MM-DD>” and ensure this line is updated whenever the list
is regenerated to reduce drift and improve traceability.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 8681178d-dcf0-44b8-a3c2-de1f7dac6da3

📥 Commits

Reviewing files that changed from the base of the PR and between 3a5c6f2 and bdf51d5.

📒 Files selected for processing (3)
  • docs/Developer-Guide_Extension-kernel-rust.md
  • docs/Developer-Guide_Extensions-List.md
  • mkdocs.yml

Add Developer-Guide_Extension-kernel-rust.md with full documentation:
motivation (upcoming Rust-dependent drivers), quick start, parameters,
toolchain cache, extensibility, and implementation notes.

Update Extensions List to link to the new page.
Add kernel-rust to mkdocs.yml navigation.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@iav iav force-pushed the extensions_list branch from bdf51d5 to c82cee3 Compare March 5, 2026 23:31
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (1)
docs/Developer-Guide_Extensions-List.md (1)

3-13: Add a sync/provenance note for this catalog.

This page presents itself as the full official list, but it does not say which armbian/build revision it was synced against. A short note like “validated against armbian/build@<sha/date>” would make future drift much easier to spot without changing the current manual workflow.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/Developer-Guide_Extensions-List.md` around lines 3 - 13, Add a short
provenance note to the top of the document indicating which armbian/build
revision the catalog was validated against (for example: "Validated against
armbian/build@<sha> on <date>"). Insert this immediately below the opening line
"Alphabetical reference of all official Armbian build framework extensions." so
it’s obvious when the page is updated; use a clear, consistent format (sha and
ISO date) and include a placeholder for future updates so maintainers can
replace it with the exact commit SHA and date.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In `@docs/Developer-Guide_Extensions-List.md`:
- Around line 3-13: Add a short provenance note to the top of the document
indicating which armbian/build revision the catalog was validated against (for
example: "Validated against armbian/build@<sha> on <date>"). Insert this
immediately below the opening line "Alphabetical reference of all official
Armbian build framework extensions." so it’s obvious when the page is updated;
use a clear, consistent format (sha and ISO date) and include a placeholder for
future updates so maintainers can replace it with the exact commit SHA and date.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 572a9c96-d966-4dbc-86ae-e33d6aa6437d

📥 Commits

Reviewing files that changed from the base of the PR and between bdf51d5 and c82cee3.

📒 Files selected for processing (3)
  • docs/Developer-Guide_Extension-kernel-rust.md
  • docs/Developer-Guide_Extensions-List.md
  • mkdocs.yml
🚧 Files skipped from review as they are similar to previous changes (1)
  • docs/Developer-Guide_Extension-kernel-rust.md

Add Developer-Guide_Extension-ccache-remote.md with full documentation:
overview with backend comparison (Redis vs WebDAV), auto-discovery via
Avahi vs explicit configuration, quick start, parameters with URL format,
server discovery priority, cache sharing requirements, and server setup
guides for Redis and HTTP/WebDAV.

Update Extensions List to link to the new page.
Add ccache-remote to mkdocs.yml navigation.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Needs review Seeking for review size/large PR with 250 lines or more

Development

Successfully merging this pull request may close these issues.

3 participants